The present invention generally relates to routing Internet Protocol (IP) communications. More particularly, the present invention relates to specifying call rates, schedules for when call rates apply and other preferences that assist in the routing of IP communications from an originating gateway to a terminating gateway.
As an alternative to traditional switched circuit networks, telecommunications service providers have discovered that telephone calls may be routed over IP networks. Due to the fact that the Internet is not presently subject to the same international regulations as are traditional telephone networks, routing telephone calls over the Internet tends to be less expensive. Additionally, an IP routed telephone call requires much less bandwidth, and thus less cost, than a telephone call placed over a traditional telephone network. Further, IP technology advances and is entered into the marketplace at a much faster rate than traditional telecom technology. Thus, in order to be competitive, telecommunications service providers have begun to use IP routing as a way to offer customers access to the latest technological improvements.
Presently, however, there is no centralized system for routing telephone calls over an IP network. Each operator of a gateway is responsible for determining the routes for its own outgoing calls. Typically, gateway operators rely on traditional IP routing algorithms, which are designed to handle routing of computer generated data packets. Traditional IP routing algorithms attempt to strike a balance between the concerns of minimum delay and maximum reliability. Thus, using traditional IP routing algorithms, a telephone call will be routed to any terminating gateway that happens to satisfy a set of predetermined shortest path and acceptable data loss parameters.
The routing of telephone calls, however, involves a significant concern that is not shared by traditional IP routing algorithms. This additional concern is the monetary cost of routing a call to a particular terminating gateway. As in traditional switched circuit networks, Internet telephony gateways impose fees for the service of terminating a call. Traditional IP routing algorithms are not able to detect and compare the varying price schedules that may be imposed by various Internet telephony gateways. Thus, originating gateways are not able to discriminate between terminating gateways based on monetary costs.
One way a gateway operator can establish the costs for IP telephony services is by negotiating directly with other gateway operators the fees for terminating each other""s calls. These gateway operators could identify each other and establish a bilateral agreement or a multilateral agreement. This approach closely resembles that of the international circuit switched telephony network, where providers in each country have established bilateral and multilateral agreements with each other. A significant hurdle for this routing implementation, however, is the large number of business relationships that must be negotiated and maintained. For example, should 1000 local operators decide to interconnect via bilateral agreements, 999000 separate agreements would be necessary. Interconnection through a centralized system, however, would require only 1000 separate business agreements, each with a separate operator.
Another disadvantage with the bilateral agreement model is that the gateway operators are not able to react quickly and intelligently to changing market forces because the bilateral agreements are generally long term contracts. For example, when there is a sudden increase in demand for terminating calls to a particular area the gateway operator in that area is unable to increase his terminating charges and take advantage of the demand. Additionally, the bilateral agreement model or the multilateral agreement model are too cumbersome for the gateway operators to set call pricing based on selected called number ranges (any given subset of all possible telephone numbers). This is especially true if the total number of telephone numbers comprising a called number range is too small. For example, it may be too cumbersome for the gateway operators to negotiate a specific call pricing plan for a specific customer with less than one hundred numbers within their called number range.
Thus, there remains a need in the art for a method and system by which an originating gateway operator may set a price that it is willing to pay to a terminating gateway operator for the service of terminating a call. There is also a need for a method and system by which a terminating gateway operator may set a price that it is willing to accept in exchange for terminating a call. There is a further need for a method and system configured for use by an IP routing engine for selecting routing options for a call based on matching the pricing criteria set by the originating and the terminating gateway operators.
There also remains a need in the art for a method and system by which a gateway operator may set or change call pricing criteria on-demand. There also remains a need in the art for a method and system by which a gateway operator may set or change call pricing criteria associated with any subset of all possible telephone numbers.
The present invention provides a method and system for defining pricing information to be used by a call routing engine for the purpose of determining a preferred route for routing IP transactions between network devices, such as telephony calls from an originating device to a terminating device via an IP network. A call pricing center of the present invention is a web-based user interface that may be designed for use by both IP bandwidth providers (partners) and their customers (retail IP service providers). The call pricing center enables its users to enter information about their preferences including pricing criteria. For example, this information can be used by a IP call routing engine to provide the originating gateway operators with a prioritized list of terminating gateways whose pricing criteria match those set by the originating gateway operators. The originating customers enter information relating to call prices they are willing pay for calls to particular called numbers at particular times. Originating customers may also specify pricing criteria, which defines the circumstances in which a call price is to be applied. Similarly the terminating customers enter information about the call prices they charge for terminating calls to particular numbers at particular times. Terminating customers may also specify pricing criteria of their own. Call pricing information generally describes call prices as well as pricing criteria.
Call pricing information is but one example of preferences and preference criteria that may be defined for the purpose of determining call routing priorities. Other preferences include, but are not limited to, delay tolerance and expected reliability. Any preferences and preference criteria entered via the call pricing center may be stored in a database that is accessible by a call routing engine. When a customer initiates a call, the originating gateway operator requests that the service point operator provide it with routing information necessary to terminate the call. Using call pricing information (i.e., call prices and pricing criteria) and other preferences and preference criteria defined via the call pricing center, the call routing engine associated with the service point operator determines the routing information corresponding to the most appropriate terminating gateways. A prioritized list of terminating gateways is then provided to the originating gateway. When provided with this prioritized routing information, the originating gateway may complete the call by choosing to terminate the call via any one of the appropriate terminating gateways.
The users define the pricing criteria by creating various components which are then assembled to define what rates are preferred to what numbers at what times by both the originating and terminating customers. The users can begin by first creating a weekly schedule comprising at least one time period to which a selected rate for terminating a call is to be applied. The weekly schedule corresponds to a week with 168 available hours. The weekly schedule is created by defining time periods that include a selection of the available hours within a week to which a certain rate can be applied. The users then have to create a called number map comprising at least one called number range to which a selected rate plan instance is to be applied. A called number range can be created by selecting the at least one called number from a list of all possible called numbers in the world. The customer can then apply a rate plan instance to the called number range. The rate plan instance is created by selecting a weekly schedule and then associating a rate with each time period included within the weekly schedule. The weekly schedule and called number maps that are created can then be used to assemble pricing criteria for both terminating and originating customers. However, the rate plan instance itself is either a originating one or a terminating one. Once a rate plan instance is in place the customer can then create a rate plan assignment instance by associating at least one device with the called number map and associating a rate plan instance with each called number range included in the called number map. In this manner the customer can define what rate plans apply to what devices and what devices route calls to what called numbers. The customer also has the ability to define when the rate plan instances and the rate plan assignment instances go into effect. This in turn allows the customer to define the rates that apply to particular called numbers at particular times.
Besides the preferences related to prices the customers can also define other preferences related to maximum delay they are willing to tolerate, any related to autonomous system matching and maximum system hop count. In this manner the originating customers have the option of further narrowing the available terminating customers to choose from to terminate their call. Thus the call pricing center of the present invention provides its users a method by which to create components such as the weekly schedules and called number maps which can be used or reassigned to different rates and different devices without having to recreate all the components. This provides the users a significant advantage in time and allows the users to change their preferences in reaction to market changes. The call pricing center is also unique in its granularity in allowing its users to dictate their preferences down to a single telephone number and to a single unit in time.